1. 개요
/26 VNET 구성방안
| VNET |
CIDR |
사용 가능 IP 수량(실제 가능한 수량) |
| VNET |
10.225.x.0/26 |
64(59개) |
| SUBNET |
CIDR |
사용 가능 IP 수량 (실제 가능 IP수량) |
| Subnet(APPGW) |
10.225.x.0/28 |
16 (11개) |
| Subnet(APP) |
10.225.x.16/28 |
16 (11개) |
| Subnet(DB) |
10.225.x.32/28 |
16 (11개) |
| Subnet(PE) |
10.225.x.48/28 |
16 (11개) |
| VNET |
CIDR |
사용 가능 IP 수량(실제 가능한 수량) |
| VNET |
10.225.x.0/26 |
64(59개) |
| SUBNET |
CIDR |
사용 가능 IP 수량 (실제 가능 IP수량) |
| Subnet(APP) |
10.225.x.0/27 |
32 (27개) |
| Subnet(DB) |
10.225.x.32/28 |
16 (11개) |
| Subnet(PE) |
10.225.x.48/28 |
16 (11개) |
/25 VNET 구성 방안
| VNET |
CIDR |
사용 가능 IP 수량(실제 가능한 수량) |
| VNET |
10.225.x.0/25 |
128 (123개) |
| SUBNET |
CIDR |
사용 가능 IP 수량 (실제 가능 IP수량) |
| Subnet(APPGW) |
10.225.x.96/28 |
16 (11개) |
| Subnet(APP) |
10.225.x.0/26 |
64 (59개) |
| Subnet(DB) |
10.225.x.112/28 |
16 (11개) |
| Subnet(PE) |
10.225.x.64/27 |
32 (27개) |
| VNET |
CIDR |
사용 가능 IP 수량(실제 가능한 수량) |
| VNET |
10.225.x.0/25 |
128 (123개) |
| SUBNET |
CIDR |
사용 가능 IP 수량 (실제 가능 IP수량) |
| Subnet(APP) |
10.225.x.0/26 |
64 (59개) |
| Subnet(DB) |
10.225.x.64/27 |
32 (27개) |
| Subnet(PE) |
10.225.x.96/27 |
32 (27개) |
| VNET |
CIDR |
사용 가능 IP 수량(실제 가능한 수량) |
| VNET |
10.225.x.0/25 |
128 (123개) |
| SUBNET |
CIDR |
사용 가능 IP 수량 (실제 가능 IP수량) |
| Subnet(APPGW-public) |
10.225.x.64/28 |
16 (11개) |
| Subnet(APPGW-private) |
10.225.x.79/28 |
16 (11개) |
| Subnet(APP) |
10.225.x.0/26 |
64 (59개) |
| Subnet(DB) |
10.225.x.96/28 |
16 (11개) |
| Subnet(PE) |
10.225.x.112/28 |
16 (11개) |
2. azurecli 스크립트
/26 VNET 구성방안
#!/bin/bash
# ===============================================================
# [1] 사용자 변경값
# ===============================================================
RESOURCE_GROUP="rg-az01-comm-poc-01"
LOCATION="koreacentral"
ENV="dev" # 환경 (dev, prd)
SERVICE="comm" # 서비스명
PURPOSE="app" # 용도
SEQUENCE="01" # 시퀀스 번호
VNET_CIDR="10.225.1.0/26"
SUBNET_APPGW_CIDR="10.225.1.0/28"
SUBNET_APP_CIDR="10.225.1.16/28"
SUBNET_DB_CIDR="10.225.1.32/28"
SUBNET_PE_CIDR="10.225.1.48/28"
# ===============================================================
# [2] 네이밍 규칙 적용
# ===============================================================
VNET_NAME="vnet-az01-${ENV}-${SERVICE}-${PURPOSE}-${SEQUENCE}"
SUBNET_PREFIX="sbn-az01-${ENV}-${SERVICE}-${PURPOSE}-${SEQUENCE}"
# ===============================================================
# [3] 전체 Subnet JSON 구성
# ===============================================================
ALL_SUBNETS_JSON=$(printf '[
{"name": "%s-appgw", "addressPrefix": "%s"},
{"name": "%s-app", "addressPrefix": "%s"},
{"name": "%s-db", "addressPrefix": "%s"},
{"name": "%s-pe", "addressPrefix": "%s"}
]' "$SUBNET_PREFIX" "$SUBNET_APPGW_CIDR" \
"$SUBNET_PREFIX" "$SUBNET_APP_CIDR" \
"$SUBNET_PREFIX" "$SUBNET_DB_CIDR" \
"$SUBNET_PREFIX" "$SUBNET_PE_CIDR")
# ===============================================================
# [4] VNet 및 모든 Subnet 생성
# ===============================================================
az network vnet create \
--resource-group "$RESOURCE_GROUP" \
--location "$LOCATION" \
--name "$VNET_NAME" \
--address-prefix "$VNET_CIDR" \
--subnets "$ALL_SUBNETS_JSON"